home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
util
/
libs
/
type1beta5.lha
/
type1
/
HISTORY
next >
Wrap
Text File
|
1995-01-10
|
11KB
|
341 lines
HISTORY
-------
###
### 9/15/93
###
type1.library:
No longer using the amishinfo.c code, as it was not relevant to the
Amiga's usage of the library. Code size dropped to about 70k.
I have rewritten enough of the top layers so that characters are
rendered only on request (and only if not already rendered), as
opposed to having all the characters rendered before the first
character is requested...
###
### 9/26/93
###
T1Manager:
Now creates .font file and creates font directory
There is now a page area below the install button. Currently,
there 2 pages: Preview and Options. There is a cycle/popup gadget
to switch between the two. Both pages currently only contain a
built-in resizable image, just for testing purposes...
type1.library:
Fixed enforcer hits: MyGetGlyphCode could return NULL glyph (default
glyph) and rc == successful. Was getting enforcer hits referencing
glyphs->glyphmap, of course...
###
### 10/1/93
###
T1Manager:
Added error checking to the T1_InstallFont routine - rewritten to be much
more sane. Still need to be able to communicate the type of error to the
user... But rewriting allows easy fix of font file generation...
type1.library
Modified OtagObtainInfoA a bit to fix a serious problem wrt return code,
which became important because T1Manager now pays attention to it...
###
### 10/2/93
###
T1Manager:
Added Remove button gadget, which de-installs the currently selected font.
Implementing this involved some structural changes in t1manager_backend.c.
###
### 10/17/93
###
T1Manager:
Double-clicking on a font in the listview now causes a preview to be displayed
in the preview box. This is done by blitting into the window's rastport, after
finding the position of the preview box. Much still needs to be done, however.
The problems are that:
a) the SPACE character doesn't work!
b) I need to do better y-axis bounds checking in the preview display.
c) The size of the preview is currently fixed!
d) The preview doesn't clear itself, and I need to handle refresh on resize, etc!
e) I need to make sure the preview page is active before doing going any further
f) Error checking when I AllocRaster()
type1.library:
In amisht1funcs, I was only setting fontencoding if it was NULL. Now, every time a
font is opened, it is forcibly set to ISOLatin1Encoding.
###
### 10/18/93
###
type1.library:
In amisht1funcs, I pretty much rewrote MyType1Glyphs. It now handles spaces, and is
generally cleaner (and perhaps faster). Note that a space character is returned with
a NULL bitmap pointer, but with correct position information (X0,Y0, X1,Y1), etc.
I am observing that with Muriel and ParkHaven, the spaces seem to be too big. It might
be the case that the space is defined that way for these fonts, though... in fact, it
does seem to be that way...
###
### 10/19/93
###
T1Manager:
T1Manager was NOT creating .otag files correctly. For otags that were not indirect, it
was writing uninitialized data. I discovered this because spytype1 showed that
OT_SpecCount was always 0, and indeed, the otag file said it was 0. This has also led
to the observation that type1.library is returning IsFixed FALSE for Courier!?! I still
need to look into this.
type1.library:
Solved the IsFixed problem. The problem was that type1.library was setting IsFixed to
1L (a 32bit TRUE), but T1Manager was only considering only the top 16 bits of it
(16 bit BOOLEAN), and so thought it was false. The solution was to make QueryFontLib
return Booleans as 16bit booleans (unsigned shorts).
While trying Courier in a shell, I observed a MAJOR problem. All the characters are
flushed left! In hindsight, it is obvious that I need to account for the
left Side Bearing by adding to the XOrigin fields... maybe.
It also seems that many of the characters touch each other... This is noticable with
Courier more than with Dragonwick and friends... This must also be related to the
left and right Side Bearing problem.
###
### 10/20/93
###
type1.library:
Solved the flushed left problem (the left SideBearing problem). The solution was to
subtract the correct leftsidebearing from the origins (X0, X1, and XOrigin). Things
look much better now...
The 'touch each other' problem does not happen with the way *I* render the characters
(which is pretty much copied from the 'strikefont.c' sample code for bullet.library
developer tools). It does happen with diskfont.library, though.
T1Manager:
I updated the font rendering code to account for the BlackLeft and BlackTop fields
of the GlyphMap structure. Of course, I don't use these fields, but I did this to be
more 'correct'.
T1Manager now saves the familyname in the .otag file.
###
### 11/28/93
###
type1.library:
Compiled with SAS C 6.50.
PROBLEM: Get an annoying linker problem (undefined symbol __XCEXIT)
Now linked with pools.lib, so I don't think there are any more 3.0 dependencies.
Now using ieeedoubbas.library instead of m68881 code, so the code can now be made
to work on any Amiga. It CAN be made to work, provided I can keep the library
from crashing on the first call to the IEEEdoubbas library...
Rewrote the makefiles. smakefile uses Chris' library code; smakefile2 uses the
SAS library code.
Modified much of t1objects.c - mostly, I #ifdef'ed out many of the functions, and
commented out several lines - the functions were involved in error handling.
These functions need much more work...
Need to be able to set the OT_SpaceWidth tag in the otag file. I don't currently
have much of an idea on how to do this correctly, though. I noticed the problem
because occasionally BltTemplate would choke on blitting 0 size templates, which
is what the SPACE character is. My rendering routine in T1Manager now hacks
around the problem, but still...
###
### 11/29/93
###
type1.library:
Miscellaneous eradication of compiler warnings.
Marked some more variables as 'const'.
More reworking of the makefiles.
###
### 12/5/93
###
type1.library:
Fixed the linker problem (__XCEXIT). The problem was that the math libraries
were linking in the SAS default _CXFERR, which then brought in a variety of
objects involving exit handling... The solution was simply to define my own
_CXFERR (in type1lib.c).
Changed the includes a bit. For example, instead of doing:
#include <pragmas/exec_lib.h>
extern struct ExecBase *SysBase;
#include <clib/exec_protos.h>,
I now do a much nicer,
#include <proto/exec.h>
###
### 1/10/94
###
type1.library:
Removed the OtagObtainInfo and OtagReleaseInfo entry points. I can't remember
why on earth I ever put them in, but they're gone now.
T1Manager:
Instead of calling OtagObtainInfo, now calls ObtainInfo
###
### 1/14/94
###
T1Manager:
Changed the way I display the preview image. Instead of blitting directly
into the windows's rastport onto the preview box, I am now using the
myimagegclass BOOPSI image class that I got off of AmiNet. First I
render into a bitmap that I allocate which is the size of the gadget,
and then I use a set() command to display that gadget. The drawback is
that you can't see each character being rendered, but rather see the
whole thing at once when it is finished. That's okay, though, since it
still feels fast (to me, at least).
###
### 3/27/94
###
T1Manager:
Reorganized the code for t1manager.c, making it much cleaner. Also,
I am now saving and loading the contents of the first cycle gadget (that
selects the part of the fonts: assign). Couldn't find an easy and clean
way to save the default font source directory for installing fonts,
though.
Fixed many bugs in the rendering routine, by setting the
drawing mode to COMPLEMENT (xor), and by inserting WaitBlit()'s.
Now, what you see is really what type1.library is returning.
###
### 5/11/94
###
type1.library:
Started incorporating changes to the base code (from X11R5 contrib)
from HP (HPXLFD_enhancements) and changes in the X11R6 rasterizer.
One of the benefits is that rotation and shearing now work.
###
### 6/20/94
###
type1.library:
There was a problem (bug introduced) with the previous attempt to
incorporate HP and X11R6 patches - so I started over again from my
previous beta (with only the R6 patches). Things now work again -
and I can easily transform characters through a matrix, etc. Things
are set up so that I can soon try rotation, shearing, etc.
I have eliminated the majority of SAS's warnings (function prototypes,
const pointers and non-const pointers, etc). There are only a few left
(uninitialized auto variables, and xobject != struct xobject != path, etc.
There is an abort function in type1interface.c called FatalError(). This
is currently a stub (which actually just RETURNS!) - but it should call
Alert(), or something - and probably just hang forever after that (returning
would be dangerous).
Code reorganization.
###
### 6/21/94
###
type1.library:
Rotation and Shearing now work.
###
### 6/24/94
###
T1Manager:
Now t1manager returns error messages for common preview/installation errors.
###
### 7/1/94 (After recovering from hard drive problems...)
###
T1Manager:
The V39 dependency should be gone - things should now work on V37 again.
Thanks go to Gregory Block for sending me some code I was too lazy to bother
with... He sent me V37 AllocBitMap and FreeBitMap code.
###
### 1/7/95
###
T1Manager:
T1manager now asks type1.library for the internal name of the font (via
OT_Spec3), and uses that instead of the filename. Thus, installing
COUR.pfb will create a font called Courier instead of COUR.
I fixed the silly bug where installing into a directory with a '.' in
the name caused problems (like System3.1:fonts, etc.). Thanks to
Greg Block for reporting this (many times). I'd actually fixed this
before, but lost my fix when I restored from a backup after the hard
drive problems. This whole business was obsoleted by the previous
change, anyhow.
type1.library
Now I create both .030 and .000 versions
I modified some routines in token.c and scanfont.c so that literal
names (like the FontName) get NULL-terminated. This involved putting
a save_ch_no_inc() in the LITERAL_NAME() function, along with
modifying FindDictValue(): I allocate an additional byte of VM so
this zero doesn't get overwritten (only for OBJ_NAME).
I've removed the majority of the remaining SAS warnings, and also reduced
the size of the library a couple hundred bytes.
###
### 1/9/95
###
T1Manager:
Greg Block reported enforcer hits in T1manager on removing a font.
Right he was. The quick and not too dirty solution was to not
bother with trying to delete possible bitmap files inside the
bitmap directory. If there aren't any bitmap files, the directory
will successfully delete, and if there are, then it won't, but
that won't affect the success of the removal. Basically, I don't
make bitmaps, and so I'm not worried about it right now.